import { phoneReg, passwordReg, userNameReg, emailReg, nameReg, idCardReg } from "./regular";
import de from "element-ui/src/locale/lang/de";

/**
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * 登录页面验证手机号
 * @param rule
 * @param value
 * @param callback
 * @returns {*}
 */
export const validPhone = function(rule, value, callback) {
  if(value === ''){
    callback(new Error("请输入手机号"));
  }
  if (!phoneReg.test(value)) {
    callback(new Error("请输入正确的手机号"));
  } else {
    callback();
  }
};

/**
 * 登录页面验证密码
 * @param rule
 * @param value
 * @param callback
 */
export const validatePassword = function(rule, value, callback) {
  if(value === ''){
    callback(new Error("请输入密码"));
  }
  if (!passwordReg.test(value)) {
    callback(new Error("请输入正确的密码,以字母开头,由字母和数字组成7位的字符串"));
  } else {
    callback();
  }
};

/**
 * 注册页面验证用户名
 * @param rule
 * @param value
 * @param callback
 * @returns {*}
 */
export const validUsername = function(rule, value, callback) {
  if(value === ''){
    callback(new Error("请输入用户名"));
  }
  if (!userNameReg.test(value)) {
    callback(new Error("请输入正确的用户名,只能输入字母或者汉字"));
  } else {
    callback();
  }
};

/**
 * 注册页面验证邮箱
 * @param rule
 * @param value
 * @param callback
 * @returns {*}
 */
export const validEmail = function(rule, value, callback) {
  if(value === ''){
    callback(new Error("请输入邮箱"));
  }
  if (!emailReg.test(value)) {
    callback(new Error("请输入正确的邮箱"));
  } else {
    callback();
  }
};

/**
 * 注册页面验证姓名
 * @param rule
 * @param value
 * @param callback
 * @returns {*}
 */
export const validName = function(rule, value, callback) {
  if(value === ''){
    callback(new Error("请输入姓名"));
  }
  if (!nameReg.test(value)) {
    callback(new Error("请输入正确的姓名"));
  } else {
    callback();
  }
};

/**
 * 注册页面验证身份证号
 * @param rule
 * @param value
 * @param callback
 * @returns {*}
 */
export const validIdCard = function(rule, value, callback) {
  if(value === ''){
    callback(new Error("请输入身份证号"));
  }
  if (!idCardReg.test(value)) {
    callback(new Error("请输入正确的身份证号"));
  } else {
    callback();
  }
};
